package ar.edu.caece.compiler.grammar.nonterminals;

import ar.edu.caece.compiler.grammar.NonTerminalSymbol;
import ar.edu.caece.compiler.grammar.terminals.DosPuntosToken;
import ar.edu.caece.compiler.grammar.terminals.IdentifierToken;
import ar.edu.caece.compiler.grammar.terminals.PuntoComaToken;
import ar.edu.caece.compiler.grammar.terminals.VarToken;

public class DECG2 extends NonTerminalSymbol implements DECLAGLOBAL {

	private VarToken varToken;
	private IdentifierToken identifierToken;
	private ARRAYD arrayd;
	private MASVARDG masvardg;
	private DosPuntosToken dosPuntosToken;
	private TIPO tipo;
	private PuntoComaToken puntoComaToken;
	
	public DECG2(VarToken varToken, IdentifierToken identifierToken,
			ARRAYD arrayd,MASVARDG masvardg,
			DosPuntosToken dosPuntosToken, TIPO tipo,
			PuntoComaToken puntoComaToken) {
		super();
		this.varToken = varToken;
		this.identifierToken = identifierToken;
		this.arrayd = arrayd;
		this.dosPuntosToken = dosPuntosToken;
		this.tipo = tipo;
		this.puntoComaToken = puntoComaToken;
		this.masvardg = masvardg;
	}

	@Override
	public String getRepresentation() {
		// TODO Auto-generated method stub
		return "{"+this.getClass().getSimpleName()+" -> "+varToken.getRepresentation()+" "+identifierToken.getRepresentation()+" "+arrayd.getRepresentation()+" "+dosPuntosToken.getRepresentation()+" "+tipo.getRepresentation()+" "+puntoComaToken.getRepresentation()+"}";
	}

	public VarToken getVarToken() {
		return varToken;
	}

	public IdentifierToken getIdentifierToken() {
		return identifierToken;
	}

	public ARRAYD getArrayd() {
		return arrayd;
	}

	public DosPuntosToken getDosPuntosToken() {
		return dosPuntosToken;
	}

	public TIPO getTipo() {
		return tipo;
	}

	public PuntoComaToken getPuntoComaToken() {
		return puntoComaToken;
	}

	public MASVARDG getMasvardg() {
		return masvardg;
	}

}
